import {LocalStorage} from "/utils/storage.js"
import {API_BASE_URL} from "/env_config.js"
// 同时发送异步代码的次数
let ajaxTimes=0;
/**
 * params是一个对象,和文档里面一模一样
 * 包含 url, header，data，method，timeout
 */
const request=(params)=>{
  // 判断 url中是否带有 /my/ 请求的是私有的路径 带上header token
  let header={...params.header};
  
  // if(params.url.includes("/user/")){
  //   // 拼接header 带上token
  //   header["Authorization"]=uni.getStorageSync("token");
  // } 
  header["Authorization"]="Bearer "+LocalStorage.getToken();

  ajaxTimes++;
  // 显示加载中 效果
  uni.showLoading({
    title: "加载中",
    mask: true
  });
    
  
  // 定义公共的url      /************* */
  // 开发地址 http://222.19.236.169:9999
  // 部署地址 https://mgy.cutebyte.top
  const baseUrl=API_BASE_URL //"http://222.19.236.169:9999";  
  return new Promise((resolve,reject)=>{
    uni.request({
     ...params,
     header:header,
     url:baseUrl+params.url,
     success:(result)=>{
       resolve(result);  /************* */
     },
     fail:(err)=>{
       reject(err);
     },
     complete:()=>{
      ajaxTimes--;
      if(ajaxTimes===0){
        //  关闭正在等待的图标
        uni.hideLoading();
      }
     }
    });
  })
}
export default request